The invention relates to a device for demultiplexing coded data available in the form of a bitstream corresponding to multimedia objects, and more particularly in the form of a bitstream compliant with the MPEG-4 standard.
The MPEG-4 standard provides standardized ways to represent audio-visual objects (called AVOs) of natural or synthetic origin, to compose them together to create compound AVOs that form audio-visual scenes, to multiplex and synchronize the data associated with AVOs, and to interact with the audio-visual scenes generated or reconstructed at the receiver""s end.
It may be recalled that, as shown in FIG. 1, an audio-visual scene, received by an MPEG-4 system such as described for instance in the document xe2x80x9cMPEG-4: context and objectivesxe2x80x9d, R. Koenen and al., Signal Processing: Image Communication 9 (1997), May 1997, No. 4, pp.295-304, is generally composed of several AVOs organized in a hierarchical fashion. The leaves of this hierarchical organization are primitive AVOs such as, in the case of the illustrated audiovisual presentation: a background, the picture of a talking person, the voice associated with that person, a 3D object present in the scene, and so on (of any typexe2x80x94text, graphics, . . . xe2x80x94and which may be either bi- or tridimensional). FIG. 1 also illustrates schematically how video and audio compositors process the scene before it is rendered and displayed for the user, who has then the possibility to interact with it.
The data associated with these AVOs are conveyed in one or more Elementary Streams (ESs), characterized by the quality of service they require for transmission and some other parameters. The so-called MPEG-4 System Layer Model, schematically depicted in FIG. 2, provides a common model on which all implementations of MPEG-4 terminals can be based. As shown in FIG. 3 that illustrates the major components of such an MPEG-4 terminal (at the receiver side), data streams coming from a network or a storage medium (xe2x80x9cTransmission/Storage Mediumxe2x80x9d, in FIG. 2; xe2x80x9cNetwork Layerxe2x80x9d, in FIG. 3) in the form of TransMux Streams must be properly demultiplexed to recover the Elementary Streams. These Elementary Streams are then passed to the appropriate decoders in view of their decompression, and in order to reconstruct the original AVO (Primitive AV Objects). Decoded AVOs, along with scene description indications giving information on the composition of the concerned scene, are then used to compose and render the scene as described by its author (in a given hierarchical, interactive form). Also to the extent allowed by the author, upstream data (user events, class request, . . .) are sent back to the Network Layer in order to interact with the scene.
More precisely, the MPEG-4 terminal depicted in FIG. 2 is a multi-layer structure consisting of the three following layers: a TransMux layer 21, a FlexMux layer 22 and an Access Unit layer 23.
The TransMux layer 21, which designates any existing or future underlying multiplex functionality that is suitable to transport MPEG-4 data streams (thus allowing MPEG-4 to be used in a wide variety of operation environments), consists of a protection sublayer and a multiplexing sublayer (although it may not be possible to separately identify these sublayers in some TransMux instances, the protection sublayer has a specific interest for providing error protection and error detection tools suitable for the given network or storage medium). This layer, not defined in the context of MPEG-4, is in fact an interface to the network or the storage medium and allows to offer transport services matching the requested Quality of Service (QoS).
The FlexMux layer 22, completely specified by MPEG-4, consists of a flexible tool for interleaving data (one or more Elementary Streams into one FlexMux stream) and allows to identify the different channels for the data that have been multiplexed.
The Access Unit layer 23 allows for an identification of Access Units (video or audio frames, scene description commands, . . .) in Elementary Streams and a recovery of time base. It conveys therefore both time base information and time stamped Access Units of these Elementary Streams. It may however be noticed that each layer of the MPEG-4 demultiplexer of the terminal has to process successively the whole stream.
A first object of the invention is to propose a more general implementation of such a demultiplexer, allowing a full integration with the subsequent decoder.
To this end, the invention relates to a device such as mentioned in the preamble of the description and which is moreover characterized in that said bitstream is subdivided into individually accessible portions of the coded representation of said multimedia objects and all the demultiplexing operations carried out in said device are, before the decoding operations, successively applied, after a further subdivision of said portions into smaller basic data entities, to each of said small data entities.
Another object of the invention is, more particularly, to propose a demultiplexer allowing to maintain a fully MPEG-4 compliant architecture.
To this end the invention relates to a demultiplexing device in which said bitstream is compliant with the MPEG-4 standard and subdivided into so-called Access Units, said demultiplexing operations being successively applied to smaller data segments, called SL-packets, of these Access Units.
More precisely, the main steps of the demultiplexing procedure, applied to each of the successive data structures, will then be the following ones
(a) reading and formatting of a buffer;
(b) extraction of segments of an Access Unit;
(c) test of complete reconstruction, or not, of an Access Unit from the previously extracted segments;
(d) transmission of each complete Access Unit to an output buffer or file;
(e) repetition of steps (a) to (d) until no more data are present at the input of the demultiplexer.